
GoToIfQuestion(@Filter,"Do you have chat messages blocked?")
GoTo(@Beginning)
@Filter:
OnChatMessage(@RunAndHideChat)

@Beginning:
OnCoordsChanged(@CoordsChange,%oldX,%oldY)


OnNPCAppeared(@NewNPC,%ID,%NPCX,%NPCY,%NPCType)
OnItemAppeared(@NewItem,%ItemID,%X,%Y)
SetVarNum(%OkToMove,1)
OnStatsChanged(@StatsChange,%Stat)
SetVarNum(%LastMonst,0)
SetVarNum(%LM,0)
SetVarNum(%IdleLoops,0)

-
@LoopStart:
Wait(70)
GoToIfInInventory(@DigBones,20)
GoToIfVarNotEqualNum(@Attack,%LastMonst,0)
AddVarNum(%IdleLoops,1)
GoToIfVarAboveNum(@AttackLM,%IdleLoops,10)
GoToIfVarEqualNum(@OkToMove,%OkToMove,1)

GoTo(@LoopStart)

@OkToMove:
MoveToRandomly(168,1803,167,1803)
GoTo(@LoopStart)

@GrabBones:
ActionVarVar(%X,%Y)
TakeItemVarVar(%X,%Y,20)
Wait(20)
GoTo(@DontGrabBones)

@GrabCoins:
ActionVarVar(%X,%Y)
TakeItemVarVar(%X,%Y,10)
Wait(20)
GoTo(@DontGrabCoins)

@GrabChaos:
ActionVarVar(%X,%Y)
TakeItemVarVar(%X,%Y,41)
Wait(20)
GoTo(@DontGrabChaos)

@DigBones:
UseItemByID(20)
Wait(30)
GoToIfInInventory(@DigBones,20)
GoTo(@LoopStart)
-

@AttackLM:
Debug("Was idling, let's just attack")
SetVar(%LastMonst,%LM)
SetVarNum(%IdleLoops,0)
@Attack:
SetVarMyHP(%HP)
GoToIfVarAboveNum(@Attack2,%HP,10)
SetVar(%LastMonst,%ID)
GoTo(@LoopStart)
@Attack2:
Debug("I think I healed, lets attack!")
ActionVarVar(%NPCX,%NPCY)
AttackNPCVar(%ID)
SetVarNum(%LastMonst,0)
SetVarNum(%OkToMove,0)
GoTo(@LoopStart)



@NewNPC:

SetVarNum(%LastMonst,0)
SetVar(%LM,%ID)
SetVarNum(%IdleLoops,0)

SetVarMyHP(%HP)
Debug("A NPC appears. ID, X, Y, Type.")
DebugVar(%ID,%NPCX,%NPCY,%NPCType)
GoToIfVarEqualNum(@Fight,%NPCType,89)
ERet()
@Fight:
Debug("My HP is:")
DebugVar(%HP)
GoToIfVarAboveNum(@Fight2,%HP,10)
SetVar(%LastMonst,%ID)
Debug("We can't attack atm, let's wait for heal")
ERet()
@Fight2:
SetVarNum(%OkToMove,0)
Debug("cant move")

DebugVar(%ID,%NPCX,%NPCY,%NPCType)
MoveTo(0,0)
ActionVarVar(%NPCX,%NPCY)
AttackNPCVar(%ID)
ERet()

@NewItem:

GoToIfVarEqualNum(@TakeItems,%OkToMove,1)
ERet()
@TakeItems:
Debug("Item appears")
DebugVar(%ItemID,%X,%Y)
GoToIfVarNotEqualNum(@DontGrabBones,%ItemID,20)
GoTo(@GrabBones)
@DontGrabBones:
GoToIfVarNotEqualNum(@DontGrabCoins,%ItemID,10)
GoTo(@GrabCoins)
@DontGrabCoins:
GoToIfVarNotEqualNum(@DontGrabChaos,%ItemID,41)
GoTo(@GrabChaos)
@DontGrabChaos:
ERet()

@StatsChange:

@CanMove:
GoToIfVarEqualNum(@SetCanMove,%Stat,3)
ERet()
@SetCanMove:
SetVarNum(%OkToMove,1)
Debug("can move")
ERet()


@CoordsChange:

SetVarMyX(%x)
SetVarMyY(%y)


GoToIfVarEqualNum(@CheckY,%x,169)
GoTo(@CheckTeleport)
@CheckY:
GoToIfVarEqualNum(@CheckGoUp,%y,1804)
GoTo(@CheckTeleport)
@CheckGoUp:
Debug("Going back up")
MoveTo(169,1803)


@CheckTeleport:
SetVar(%diff,%oldX)
AddVarNum(%diff,40)
GoToIfVarAbove(@RunAndHideTele,%x,%diff)
SetVar(%diff,%oldX)
AddVarNum(%diff,-40)
GoToIfVarBelow(@RunAndHideTele,%x,%diff)

SetVar(%diff,%oldY)
AddVarNum(%diff,40)
GoToIfVarAbove(@RunAndHideTele,%y,%diff)
SetVar(%diff,%oldY)
AddVarNum(%diff,-40)
GoToIfVarBelow(@RunAndHideTele,%y,%diff)

ERet()


@RunAndHideTele:
Wait(20)
Say(61 60 )
Debug("Saying 'What the'")
Wait(10)
Debug("Ooops we just got teleported! Must be an admin!!!")
GoTo(@RunAndHide)


@RunAndHidePick:
Debug("Ooops we just lost pickaxe! Must be an admin!!!")
GoTo(@RunAndHide)

@RunAndHideChat:
Debug("Ooops someone is talking in the game. If chat messages are blocked - its an admin!!!")
GoTo(@RunAndHide)

@RunAndHide:
StopAndLogOut()
Wait(1)



